package com.zdcp.generator.mapper;

import java.util.List;

import org.beetl.sql.core.annotatoin.SqlResource;
import org.beetl.sql.core.engine.PageQuery;
import org.beetl.sql.core.mapper.BaseMapper;

import com.zdcp.generator.bean.GenTable;

/**
 * 业务 数据层
 * 
 * @author yweijian
 * @date 2019年9月2日
 * @version 1.0
 */
@SqlResource("generator.genTable")
public interface GenTableMapperDao extends BaseMapper<GenTable> {
	/**
	 * 查询业务列表
	 * 
	 * @param genTable
	 *            业务信息
	 * @return 业务集合
	 */
	public List<GenTable> selectGenTableList(PageQuery<GenTable> query);

	/**
	 * 查询据库列表
	 * 
	 * @param query
	 *            业务信息
	 * @return 数据库表集合
	 */
	public List<GenTable> selectDbTableList(PageQuery<GenTable> query);

	/**
	 * 查询据库列表
	 * 
	 * @param tableNames
	 *            表名称组
	 * @return 数据库表集合
	 */
	public List<GenTable> selectDbTableListByNames(String[] tableNames);

	/**
	 * 查询表ID业务信息
	 * 
	 * @param tableId
	 *            业务ID
	 * @return 业务信息
	 */
	public GenTable selectGenTableById(Long tableId);

	/**
	 * 查询表名称业务信息
	 * 
	 * @param tableName
	 *            表名称
	 * @return 业务信息
	 */
	public GenTable selectGenTableByName(String tableName);

	/**
	 * 批量删除业务
	 * 
	 * @param ids
	 *            需要删除的数据ID
	 * @return 结果
	 */
	public int deleteGenTableByIds(Long[] ids);
}